package com.huangsm.concurrence.blockingdeque;

import java.util.concurrent.BlockingDeque;
import java.util.concurrent.LinkedBlockingDeque;

/**
 *  链阻塞双端队列
 * @author huang
 * @date 2019/2/14
 */
public class LinkedBlockingDequeExample {
    /**
     * LinkedBlockingDeque 类实现了 BlockingDeque 接口。
     * deque(双端队列) 是 "Double Ended Queue" 的缩写。因此，双端队列是一个你可以从任意一端插入或者抽取元素的队列。
     * LinkedBlockingDeque 是一个双端队列，在它为空的时候，一个试图从中抽取数据的线程将会阻塞，无论该线程是试图从哪一端抽取数据。
     */
    public static void main(String[] args) {
        BlockingDeque deque=new LinkedBlockingDeque(1024);
        deque.addFirst("first");
        deque.addLast("last");
        System.out.println(deque.getFirst()+"---"+deque.getLast());
    }
}
